闪电网络原理通俗解释
第0章 引言
今天有人宣布BTC上的闪电网络可以使用了,甚至今天价格也突然涨了1000美元(有没有因果关系不知道),可闪电网络到底是啥,真的可以用了吗?
闪电网络的原理实在是太过于复杂,白皮书打印出来,28张A4纸,我一字一句啃完,今天试图使用最通俗的话语讲明白。
第1章 双向支付通道
使用闪电网络的第一步就是要打开一个双向支付通道,比如A和B之间要打开一个双向支付通道,这到底说的是啥?
如果A和B之间要打开一个支付通道,具体过程是这样的,A和B分别往一个2-2签名的多重签名地址转入一定余额的比特币,比如(A:0.1BTC; B:0.5BTC),0.1BTC归A;0.5BTC归B。这个2-2签名的地址及这个余额分配状态就是一个双向支付通道。
如果在通道里A要向B支付0.05BTC,那A和B就可以对这个2-2签名的地址进行签署调整余额状态为(A:0.05BTC;B:0.505BTC)。
这个余额分配过程的原理,特别是防止作弊的方法要讲起来就很复杂了。但我们就先不管这些了,就相信专家们搞出的那一整套复杂的论文和程序好了。
如果支付通道只能在两人之间更新余额,那肯定没啥用,对吧。但支付通道伟大的地方在于可以将各个支付通道连接在一起。比如A和B之间有通道,B和C之间有通道,那A可以通过B向C发送比特币。
那下面就通俗地讲解下支付通道的联网。
第2章 闪电网络
如果A和B打开了一个双向支付通道,里面有1BTC属于A,2BTC属于B,即(A:1BTC;B:2BTC);
A和C打开了一个双向支付通道,里面有2BTC属于A,3BTC属于C,即(A:2BTC;C:3BTC)。那B就可以通过A来向C转账。具体的过程是这样的:
B签署一个1BTC转账密文给C。但C肯定收不到,因为C和B没有打开2-2签名的通道;
C拿着B给他的转账密文跑去跟A要1BTC,拟定要签署一个2-2签名的交易。
A拿着这个密文和B做一个2-2签名交易,将A和B之间的余额状态分配调整为(A:2BTC;B:1BTC)。
A拿到和B完成的签名信息后再和C完成第2步的2-2签名交易,将A和C之间的余额状态分配调整为(A:1BTC;C:3BTC)。
交易完成。
过程就是这样,但原理太复杂了。
如果有一个人同时和世界上所有的人建立了双向支付通道,那就意味着世界人所有的人都可以利用这个人做为中介发送比特币,而且这几乎是瞬间完成的,不需要向比特币主链那样需要广播交易让矿工来确认。
第3章 关闭双向支付通道
如果你将币发到了一个2-2签名的地址里,以打开一个支付通道,那试问,你的币是存在哪里?
答案肯定是存在那个2-2签名的地址里呗。但这里面的币你要拿回来,变回你自己一个人签名就可以花的币,怎么办呢?
这就是要关闭双向支付通道。
关闭双向支付通道其实是很复杂的过程,你想想,在双向支付通道里来来回回余额不停调整,甚至搞几百几亿次,但这些可是不像在比特币上做交易是经过了矿工打包确认的,如何防止一方作弊是特别关键的。
最简单的关闭双向支付通道,就是双向签署一笔2-2签名的交易,将最后的余额分配状态分别发到各自的地址上,并且在比特币区块链上广播,经过矿工打包确认。这笔交易和我们现在发的交易是一样的。
第二种是双方中的单方终止通道,直接由单方发一笔单签名的交易,将余额发到自己的地址上,对方的币发到对方地址上。但为了防止作弊这种单方终止通道的交易发的币要等1000个确认才能花。
第三种是打开支付通道的时候是有一个交易锁定时间的,这个时间到了之后,支付通道就会关闭,余额就会回到各自的地址上。
第4章 结束语
闪电网络挺复杂的,可能需要等闪电网络钱包真正出来之后,经过长时间的测试和大家小额玩一玩,才能被缓慢推广。指望闪电网络来缓解比特币拥堵,注定是做梦。
这和隔离见证一样,隔离见证已经被激活两个多月了,你见过多少笔隔离见证交易了?因为比特币就是钱,很宝贵的东西,谁也不会把钱存进自己不熟悉的代码里。
比特币还是存在P2PKH地址里放心。
(如果您觉得好,欢迎关注我的公众号: 闪电HSL,也欢迎加我微信号:13501264918)
(如果你想学习比特币和区块链知识,欢迎加入我的小密圈)
(谢谢打赏)